<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>使用继承增强内置类</title>
</head>
<body>
    
</body>
<script>
    /*
        前面已经实现了用原型的方式来继承不同的类型的原型  来增强内置类的功能
            使用的是 Object.creat(Array.prototype)
    */
    // 下面是使用类的方式  类是语法糖 所以更加的简单
    class arr extends Array{
        constructor(...args){
            super(args)  //原理其实还是  利用构造函数创建数组对象  let arr = new Array(1,2,3,4,5,6)  这钟方式创建对象
        }
        get mine(){
            return this
        }
        set add(value){   //  使用访问器最好  能够让代码更加的优雅
            this.push(value)
        }
    }
    let array = new arr(1,5,6,9,8)
    console.log(array.mine)  //arr [Array(5)]

    array.add = 'jimmy'
    console.log(array.mine)  //arr(2) [Array(5), "jimmy"]
</script>
</html>